<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
global $data;

class Resources extends CI_Controller {

    public function __construct() {
        global $data;
        parent::__construct();
        //redireccion segura
        if ($this->session->userdata('access') != 'grant') {
            redirect(base_url());
        }
        $this->inicializarCampos();
        $data['place'] = 'resources';
        $this->stats();
    }

    public function stats() {
        global $data;
        $data['acceso'] = $this->ciempies_model->lista_accesos();
        $data['tcolab'] = $this->ciempies_model->get_total('COLABORADOR');
        $data['ttutorial'] = $this->ciempies_model->get_total('TUTORIAL');
        $data['therramienta'] = $this->ciempies_model->get_total('HERRAMIENTA');
        $data['tuso_herramienta'] = $this->ciempies_model->get_total('uso_herramienta');
        $data['tvisita'] = $this->ciempies_model->get_total('visita');
    }

    public function menu($opc) {
        global $data;

        $this->load->view('template/header', $data);
        $this->load->view('template/sidebar');
        switch ($opc) {
            case 'agregar':
                $this->load->view('recursos/content_alta');
                break;
            case 'modificar':
                $this->load->view('recursos/content_buscar');
                break;
        }
        $this->load->view('template/footer');
        $this->session->unset_userdata('form');
        $this->session->unset_userdata('mensaje');
    }

    private function inicializarCampos() {
        global $data;
        $data['responsableNombre'] = $this->session->userdata('responsableNombre');
        $form = $this->session->userdata('form');
        $data['titulo_es'] = $form['titulo_es'];
        $data['contenido_es'] = $form['contenido_es'];
        $data['titulo_en'] = $form['titulo_en'];
        $data['contenido_en'] = $form['contenido_en'];
        $data['mensaje'] = $this->session->userdata('mensaje');
    }

    public function guardarRecurso() {
        $notify_good = '<div class="alert alert-success" style="margin-top: 16px;">
                        <button type="button" class="close" data-dismiss="alert">×</button>
                        <strong>Bien!</strong> ';

        $notify_bad = '<div class="alert alert-error" style="margin-top: 16px;">
                        <button type="button" class="close" data-dismiss="alert">×</button>
                        <strong> Cuidado! </strong> ';

        //VALIDACION DE FORMULARIO
        $this->form_validation->set_rules('titulo_es', 'Titulo_español', 'required|trim|xss_clean');
        $this->form_validation->set_rules('contenido_es', 'Contenido_español', 'required|trim|xss_clean');
        $this->form_validation->set_rules('titulo_en', 'Titulo_ingles', 'required|trim|xss_clean');
        $this->form_validation->set_rules('contenido_en', 'Contenido_ingles', 'required|trim|xss_clean');


        //DEFINIMOS MENSAJES DE ERROR
        $this->form_validation->set_message('required', 'Hay campos vacios');

        //GUARDAMOS LOS VALORES DEL FORMULARIO QUE FUERON ENVIADOS POR EL POST
        $data['titulo_es'] = $this->input->post('titulo_es');
        $data['contenido_es'] = $this->input->post('contenido_es');
        $data['titulo_en'] = $this->input->post('titulo_en');
        $data['contenido_en'] = $this->input->post('contenido_en');

        //CUANDO EL FORMULARIO ES ENVIADO, APLICAMOS LOS CRITERIOS DE EVALUACIÓN EN BUSCA DE ERRORES
        //SI FALLA ENTRA AL IF Y SE RECARGA LA PAGINA CON LOS ERRORES
        if (!($this->input->post('publicar') && $this->form_validation->run())) {

            //OBTENEMOS LOS ERRORES DEL FORMULARIO
            $this->session->set_userdata('form', $data);
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('titulo_es') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('contenido_es') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('titulo_en') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('contenido_es') . '</div>');


            redirect(base_url() . 'resources/menu/agregar');
        }
        //EL FORMULARIO PASA LA PRUEBA
        //METEMOS LA VARIABLES EN UN ARREGLO
        $recurso = array(
            'a' => $data['titulo_es'],
            'b' => $data['contenido_es'],
            'c' => $data['titulo_en'],
            'd' => $data['contenido_en'],
            'g' => $this->session->userdata('responsableID'));

        //GUARDAMOS EL TUTORIAL
        $this->ciempies_model->guardarRecurso($recurso);

        $this->session->set_userdata('mensaje', $notify_good . 'Recurso Guardado</div>');
        redirect(base_url() . 'resources/menu/agregar');
    }

    public function buscarRecurso() {
        $p = $this->input->post('tag');
        $data['recurso'] = $this->ciempies_model->buscarRecurso($p);
        $this->load->view('recursos/lista_recurso', $data);
    }

    public function eliminarRecurso($key) {
        $this->ciempies_model->eliminarRecurso($key);
        $this->session->set_userdata('mensaje', '<div class="alert">
                                                <button type="button" class="close" data-dismiss="alert">×</button>
                                                <strong>Borrado</strong> terminado. </div>');
        redirect(base_url() . 'resources/menu/modificar');
    }

    public function modificarRecurso($id) {
        global $data;

        $recurso = $this->ciempies_model->datosRecurso($id);

        $data['id'] = $recurso->ID;
        $data['titulo_es'] = $recurso->TITULO_ES;
        $data['contenido_es'] = $recurso->CONTENIDO_ES;
        $data['titulo_en'] = $recurso->TITULO_EN;
        $data['contenido_en'] = $recurso->CONTENIDO_EN;

        //carga de vistas
        $this->load->view('template/header', $data);
        $this->load->view('template/sidebar');
        $this->load->view('recursos/content_edita');
        $this->load->view('template/footer');

        //reiniciamos las variables 
        $this->session->unset_userdata('mensaje');
    }

    public function actualizarRecurso() {
        $notify_good = '<div class="alert alert-success" style="margin-top: 16px;">
                        <button type="button" class="close" data-dismiss="alert">×</button>
                        <strong>Bien!</strong> ';

        $notify_bad = '<div class="alert alert-error" style="margin-top: 16px;">
                        <button type="button" class="close" data-dismiss="alert">×</button>
                        <strong> Cuidado! </strong> ';

        //VALIDACION DE FORMULARIO
        $this->form_validation->set_rules('titulo_es', 'Titulo_español', 'required|trim|xss_clean');
        $this->form_validation->set_rules('contenido_es', 'Contenido_español', 'required|trim|xss_clean');
        $this->form_validation->set_rules('titulo_en', 'Titulo_ingles', 'required|trim|xss_clean');
        $this->form_validation->set_rules('contenido_en', 'Contenido_ingles', 'required|trim|xss_clean');


        //DEFINIMOS MENSAJES DE ERROR
        $this->form_validation->set_message('required', 'Hay campos vacios');

        //GUARDAMOS LOS VALORES DEL FORMULARIO QUE FUERON ENVIADOS POR EL POST
        $data['titulo_es'] = $this->input->post('titulo_es');
        $data['contenido_es'] = $this->input->post('contenido_es');
        $data['titulo_en'] = $this->input->post('titulo_en');
        $data['contenido_en'] = $this->input->post('contenido_en');

        //CUANDO EL FORMULARIO ES ENVIADO, APLICAMOS LOS CRITERIOS DE EVALUACIÓN EN BUSCA DE ERRORES
        //SI FALLA ENTRA AL IF Y SE RECARGA LA PAGINA CON LOS ERRORES
        if (!($this->input->post('publicar') && $this->form_validation->run())) {

            //OBTENEMOS LOS ERRORES DEL FORMULARIO
            $this->session->set_userdata('form', $data);
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('titulo_es') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('contenido_es') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('titulo_en') . '</div>');
            $this->session->set_userdata('mensaje', $notify_bad . $this->form_validation->error('contenido_en') . '</div>');


            redirect(base_url() . 'resources/modificarRecurso/' . $this->input->post('id'));
        }
        //EL FORMULARIO PASA LA PRUEBA
        //METEMOS LA VARIABLES EN UN ARREGLO
        $recurso = array(
            'a' => $data['titulo_es'],
            'b' => $data['contenido_es'],
            'c' => $data['titulo_en'],
            'd' => $data['contenido_en'],
            'g' => $this->input->post('id'));

        //GUARDAMOS EL TUTORIAL
        $this->ciempies_model->actualizarRecurso($recurso);

        $this->session->set_userdata('mensaje', $notify_good . 'Recurso Actualizado</div>');
        redirect(base_url() . 'resources/modificarRecurso/' . $this->input->post('id'));
    }

}
